/**
  ******************************************************************************
  * @file    fvr.c
  * @author  ashuai0110
  * @version V1.0
  * @date    2024-01-18
  * @brief   fvr驱动,适用于PIC16(L)F1788_9
  *
  ******************************************************************************
  * @attention
  *
  * Change Logs:
  * Date          Author        Notes
  * 2024-01-18    ashuai0110    完成基本内容
  *
  ******************************************************************************
  */

/* 包含头文件-----------------------------------------------------------------*/
#include "fvr.h"

/* 私有宏定义-----------------------------------------------------------------*/

/* 私有类型定义---------------------------------------------------------------*/

/* 私有变量-------------------------------------------------------------------*/

/* 全局变量-------------------------------------------------------------------*/

/* 私有函数原型---------------------------------------------------------------*/

/**
  * @brief  fvr初始化
  * @param  config : fvr配置结构体
  * @retval None
  */
void fvr_init(fvr_config_t config)
{
    FVRCONbits.CDAFVR = config.dacVoltage; /* 比较器和DAC固定参考电压选择位 */
    FVRCONbits.ADFVR = config.adcVoltage; /* ADC固定参考电压选择位 */
    
    FVR_CMD(1); /* 使能FVR输出 */
    while(FVRRDY == 0); /* 等待输出就绪 */
}

/**
  * @brief  fvr取消初始化(恢复缺省)
  * @param  None
  * @retval None
  */
void fvr_de_init(void)
{
    FVRCON = 0;
}
